package ar.com.indra.delegate.impl;

import java.util.ArrayList;
import java.util.List;

import ar.com.indra.beans.DetalleFormularioDTO;
import ar.com.indra.beans.EncuestaDTO;
import ar.com.indra.beans.EncuestaUsuarioDTO;
import ar.com.indra.beans.FormularioUsuarioDTO;
import ar.com.indra.beans.RespuestaDTO;
import ar.com.indra.beans.UsuarioDTO;
import ar.com.indra.delegate.UsuarioDelegate;
import ar.com.indra.service.UsuarioService;


public class UsuarioDelegateImpl implements UsuarioDelegate {
//public class UsuarioDelegateImpl implements UsuarioDelegate {

	private UsuarioService usuarioService;
	//private UsuarioService getServiceLocal(){
	//	return (UsuarioService)this.getService();
	//}

	@Override
	public UsuarioDTO getUsuarioById(Integer idUser) throws Exception {
		
		if (this.usuarioService == null){
			System.out.println("-> EL SERVICE DEL DELEGATE ES NULL!");
		} else {
			System.out.println("-> EL SERVICE DEL DELEGATE ESTA OK!!!");
		}
		
		return this.usuarioService.getUsuarioById(idUser);
	}

	public UsuarioService getUsuarioService() {
		return usuarioService;
	}

	public void setUsuarioService(UsuarioService usuarioService) {
		this.usuarioService = usuarioService;
	}

	@Override
	public List<FormularioUsuarioDTO> findFormulariosByUsuario(int id_usuario,	int id_encuesta) throws Exception {
		
		return this.usuarioService.findFormulariosByUsuario(id_usuario, id_encuesta);
	}

	
	public int updateMasivoRespuestas(ArrayList<RespuestaDTO> respuestas)
			throws Exception {
		int cantRdpu = respuestas.size();
		for (int i = 0; i <cantRdpu; i++) {
			this.usuarioService.updateMasivoRespuestas(respuestas.get(i));
		}
		return 0;
	}	
	@Override
	public List<DetalleFormularioDTO> findDetalleFormulario(int id_usuario,	int id_encuesta, int id_formulario) {

		return usuarioService.findDetalleFormulario(id_usuario, id_encuesta, id_formulario);
	}

	@Override
	public EncuestaDTO findEncuestaActiva() throws Exception {
		// TODO Auto-generated method stub
		return usuarioService.findEncuestaActiva();
	}
	
    public int updateEncuestaEstado(EncuestaUsuarioDTO u) throws Exception {		
		
		return this.usuarioService.updateEncuestaEstado(u);
	}
    
    public int updateFormularioEstado(FormularioUsuarioDTO f) throws Exception{		
		return this.usuarioService.updateFormularioEstado(f);
	}
    
    

	
	
}
